package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 对字符串集合进行排序
 */
public class SortString {
    public static void main(String[] args) {
        //创建一个String泛型的集合
        /*List<String> list = new ArrayList<String>();
        list.add("jack");
        list.add("bob");
        list.add("rose");
        list.add("sam");
        list.add("tom");
        list.add("Lucy");
        System.out.println("list原始数据为：" + list);
        Collections.sort(list);
        //升序排序(按照第一个字母的ASCII码值升序排序）
        //若第一个字母相同，则比较第2个字母的ASCII码值
        Collections.reverse(list);
        System.out.println("List排序后的数据为：" + list);*/


        //对中文排序
        List<String> list = new ArrayList<>();
        list.add("程硕博");
        list.add("伟超老师有点帅");
        list.add("伟超老师");
        System.out.println("list原始数据为：" + list);
        //升序排序(按照第一个字母的ASCII码值升序排序）
        //若第一个字母相同，则比较第2个字母的ASCII码，以此类推
        Collections.sort(list);
        System.out.println("list排序后的数据为：" + list);

        //按照字符串长度排序
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                //return o1.length()-o2.length();       //前边的-后边的 就是升序
                return o2.length()-o1.length();         //后边的-前边的 就是降序
            }
        });

        System.out.println("list按字符串长度排序后的数据为："+list);
    }
}
